/**
 * <copyright>
 * </copyright>
 *
 * $Id$
 */
package org.eclipselabs.damos.dml;


/**
 * <!-- begin-user-doc -->
 * A representation of the model object '<em><b>Fixed Point Data Type</b></em>'.
 * <!-- end-user-doc -->
 *
 * <p>
 * The following features are supported:
 * <ul>
 *   <li>{@link org.eclipselabs.damos.dml.FixedPointDataType#isSigned <em>Signed</em>}</li>
 *   <li>{@link org.eclipselabs.damos.dml.FixedPointDataType#getIntegerLength <em>Integer Length</em>}</li>
 *   <li>{@link org.eclipselabs.damos.dml.FixedPointDataType#getFractionalLength <em>Fractional Length</em>}</li>
 *   <li>{@link org.eclipselabs.damos.dml.FixedPointDataType#getWordLength <em>Word Length</em>}</li>
 * </ul>
 * </p>
 *
 * @see org.eclipselabs.damos.dml.DMLPackage#getFixedPointDataType()
 * @model
 * @generated
 */
public interface FixedPointDataType extends DataType {
	/**
	 * Returns the value of the '<em><b>Signed</b></em>' attribute.
	 * The default value is <code>"true"</code>.
	 * <!-- begin-user-doc -->
	 * <p>
	 * If the meaning of the '<em>Signed</em>' attribute isn't clear,
	 * there really should be more of a description here...
	 * </p>
	 * <!-- end-user-doc -->
	 * @return the value of the '<em>Signed</em>' attribute.
	 * @see #setSigned(boolean)
	 * @see org.eclipselabs.damos.dml.DMLPackage#getFixedPointDataType_Signed()
	 * @model default="true" required="true" ordered="false"
	 * @generated
	 */
	boolean isSigned();

	/**
	 * Sets the value of the '{@link org.eclipselabs.damos.dml.FixedPointDataType#isSigned <em>Signed</em>}' attribute.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @param value the new value of the '<em>Signed</em>' attribute.
	 * @see #isSigned()
	 * @generated
	 */
	void setSigned(boolean value);

	/**
	 * Returns the value of the '<em><b>Integer Length</b></em>' attribute.
	 * <!-- begin-user-doc -->
	 * <p>
	 * If the meaning of the '<em>Integer Length</em>' attribute isn't clear,
	 * there really should be more of a description here...
	 * </p>
	 * <!-- end-user-doc -->
	 * @return the value of the '<em>Integer Length</em>' attribute.
	 * @see #setIntegerLength(int)
	 * @see org.eclipselabs.damos.dml.DMLPackage#getFixedPointDataType_IntegerLength()
	 * @model required="true" ordered="false"
	 * @generated
	 */
	int getIntegerLength();

	/**
	 * Sets the value of the '{@link org.eclipselabs.damos.dml.FixedPointDataType#getIntegerLength <em>Integer Length</em>}' attribute.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @param value the new value of the '<em>Integer Length</em>' attribute.
	 * @see #getIntegerLength()
	 * @generated
	 */
	void setIntegerLength(int value);

	/**
	 * Returns the value of the '<em><b>Fractional Length</b></em>' attribute.
	 * <!-- begin-user-doc -->
	 * <p>
	 * If the meaning of the '<em>Fractional Length</em>' attribute isn't clear,
	 * there really should be more of a description here...
	 * </p>
	 * <!-- end-user-doc -->
	 * @return the value of the '<em>Fractional Length</em>' attribute.
	 * @see #setFractionalLength(int)
	 * @see org.eclipselabs.damos.dml.DMLPackage#getFixedPointDataType_FractionalLength()
	 * @model required="true" ordered="false"
	 * @generated
	 */
	int getFractionalLength();

	/**
	 * Sets the value of the '{@link org.eclipselabs.damos.dml.FixedPointDataType#getFractionalLength <em>Fractional Length</em>}' attribute.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @param value the new value of the '<em>Fractional Length</em>' attribute.
	 * @see #getFractionalLength()
	 * @generated
	 */
	void setFractionalLength(int value);

	/**
	 * Returns the value of the '<em><b>Word Length</b></em>' attribute.
	 * <!-- begin-user-doc -->
	 * <p>
	 * If the meaning of the '<em>Word Length</em>' attribute isn't clear,
	 * there really should be more of a description here...
	 * </p>
	 * <!-- end-user-doc -->
	 * @return the value of the '<em>Word Length</em>' attribute.
	 * @see org.eclipselabs.damos.dml.DMLPackage#getFixedPointDataType_WordLength()
	 * @model required="true" transient="true" changeable="false" volatile="true" derived="true" ordered="false"
	 * @generated
	 */
	int getWordLength();

} // FixedPointDataType
